#define player.gravity
if place_free(x,y+1) //als er geen collision is op punt x 0 en y 1 dan..
 {
  gravity = 0.4; //zet de zwaartekracht op 0.4, hoe lager, hoe hoger je kan springen
  gravity_direction = 270; //zet de richting van de zwaartekracht op 270, 270 is naar onderen, dus dan val je
 }
else //als dat iets anders is dan..
 {
  gravity = 0; //zet de zwaartekracht op 0, dus je kan niet springen
  gravity_direction = 270; //zet de richting van de zwaartekracht op 270, 270 is naar onderen, dus dan val je
 }
 
 // also used for AI

#define player.left
if place_free(x-4,y) //als er geen collision is op punt x -4 en y dan..
 {
  x-=4; //doe er bij x 4 af
  image_speed = -1; //begin met animeren van sprite
 }
else //als dat iets anders is dan..
 {
  if place_free(x-4,y-8) //als er geen collision is op punt x -4 en y -8 dan..
   {
    x -= 4; //doe er bij x -4 bij
    y -= 8; //doe er bij y 8 af
    move_contact_solid(270,8);
   }
 }
sprite_index = argument0; //verander die sprite in die van links

#define player.right
if place_free(x+4,y) //als er geen collision is op punt x 4 en y dan..
 {
  x+=4; //doe er bij x 4 bij
  image_speed = -1; //begin met animeren van sprite
 }
else //als dat iets anders is dan..
 {
  if place_free(x+4,y-8) //als er geen collision is op punt x 4 en y -8 dan..
   {
    x += 4; //doe er bij x 4 bij
    y -= 8; //doe er bij y 8 af
    move_contact_solid(270,8);
   }
 }
sprite_index = argument0; //verander de sprite in die van rechts

#define player.jump
if not place_free(x,y+1) //als er een collision is op punt x 0 y+1 dan..
 {
  vspeed =- argument0; //zet de vspeed (vertical speed) in argument0
 }

#define player.nokey
if keyboard_lastkey = vk_left {
sprite_index = spr_player_left_nokey   }

if keyboard_lastkey = vk_right {
sprite_index = spr_player_right_nokey   }

#define player.hit.obj_block
move_contact_solid(direction,12); //blijf staan
vspeed = 0; //zet de vspeed (vertical speed) op 0
image_speed = 0; //stop animeren van sprite

#define player.hit.points
global.scores += argument0 //scores dr bij maar vul argument0 wel in voor aant punten
with (other) instance_destroy(); //delete de punten provider :P

#define player.crosshair
x = mouse_x
y = mouse_y

#define player.shoot
// Schieten YEEEY

if can_attack = true && global.bullets > 0 // als de speler wel kan aanvallen...
{
    var shoot;
    
    shoot = instance_create(obj_gun.x,obj_gun.y,obj_bullet_player) // maak een kogel.
        
    can_attack = false // player kan niet meer aanvallen
    global.bullets -= 1 // 1 kogel dr af
    alarm[0] = 15 // de waarde van alarm0 geeft aan hoe snel hij kan schieten hoe lager het getal hoe sneller hij zal schieten!
}

#define player.gun
with (my_gun) //met object gun
{
    x = obj_player.x+34 // gun wordt bepaald door de player en coords van player
    y = obj_player.y+45 // idem
    move_towards_point(mouse_x,mouse_y,0)
    
    //als de muis verder is dan X van player, moet hij omdraaien, DOH!
    if mouse_x > obj_player.x
    {
        dir=1 // dir=1 is rechts
    }
    else
    {
        dir=-1 // dir=-1 is links
    }

    if dir=1 //links
    {
    image_index=0
    x = obj_player.x+34
    y = obj_player.y+45
    move_towards_point(mouse_x,mouse_y,0)
    }
    else //rechts
    {
    image_index=1
    x = obj_player.x+13
    y = obj_player.y+45
    move_towards_point(mouse_x,mouse_y,0)
    }
}

// dit moet altijd in de players end step

#define player.checkmouse
if mouse_x > x
{
    dir=1
}
else
{
    dir=-1
}

if dir=1
{
    sprite_index = spr_player_right
}
else
{
    sprite_index = spr_player_left
}

#define player.spawngun
my_gun=instance_create(self.x-22,self.y-32,obj_gun)
can_attack = true
dir = 1

#define player.reset.var.attack
can_attack = true

#define player.hit.ai_test
global.hits -= 1 // 1 hit dr af
with (other) instance_destroy(); //destroy andere obj in dit geval 'ai_test'

#define player.hit.spikes
effect_create_above(ef_firework,self.x+24,self.y+50,1,c_red);

if dir=1 {
instance_create(self.x+13,self.y+45,obj_player_right_dead) // rechts
global.lifes -= 1 // 1 leven dr af
global.hits = 3 // zet hits maar weer op 3
with (obj_gun) instance_destroy() //verwijder de gun ook van dat puntwith (obj_gun) instance_destroy() //verwijder de gun ook van dat punt
instance_create(obj_create.x,obj_create.y-35,obj_player); //obj_player wordt op punt y-35 gespawnt door obj_create
instance_destroy() //verwijder de player van dat punt
}

if dir=-1 {
instance_create(self.x+34,self.y+45,obj_player_left_dead) // links
global.lifes -= 1 // 1 leven dr af
global.hits = 3 // en alweer hits op 3 :P niet eerlijk anders :)
with (obj_gun) instance_destroy() //verwijder de gun ook van dat puntwith (obj_gun) instance_destroy() //verwijder de gun ook van dat punt
instance_create(obj_create.x,obj_create.y-35,obj_player); //obj_player wordt op punt y-35 gespawnt door obj_create
instance_destroy() //verwijder de player van dat punt
}

#define player.hit.ammo
global.bullets += argument0 //scores dr bij maar vul argument0 wel in voor aantal ammo
with (other) instance_destroy(); //delete de ammobox

